public class InterruptExample {
    public static void main(String[] args) {
        // 创建线程
        Thread thread = new Thread(() -> {
            try {
                System.out.println("线程开始执行");
                // 模拟一个长时间的任务
                for (int i = 0; i < 10; i++) {
                    if (Thread.currentThread().isInterrupted()) {
                        System.out.println("线程被中断，退出循环");
                        return;
                    }
                    Thread.sleep(1000);  // 模拟工作
                    System.out.println("线程正在工作，执行第 " + (i + 1) + " 次");

                }
            } catch (InterruptedException e) {
                System.out.println("线程在阻塞时被中断：" + e.getMessage());
            }
        });

        thread.start();

        try {
            // 等待一会儿，然后中断线程
            Thread.sleep(3000);
            thread.interrupt();  // 请求中断线程
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

